<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 解构赋值 
        // 一、数组解构；
        // ES5 ：
        // var arr = ["张三","李四","王五"];
        // // let a = arr[0];
        // // let b = arr[1];
        // // let c = arr[2];
        // // console.log(a,b,c);

        // // 解构 
        // let [a,b,c] = arr;
        // console.log(a,b,c);


        // ES5在函数里传参 
        // function fn(arr){
        //     let a = arr[0];
        //     let b = arr[1];
        //     let c = arr [2];
        //     console.log(a,b,c);
        // }
        // var arr = ["张三","李四","王五"];
        // fn(arr);


        // ES6解构
        // function fn([a,b,c]){
        //     console.log(a,b,c);
        // }
        // var arr = ["张三","李四","王五"];
        // fn(arr);

        // let arr = ["张三",["李四","王五"]];
        // let [a,[b,c]] = arr;

        // console.log(a,b,c);


        // 二、对象的解构
        // let obj  ={
        //     name:"张三",
        //     age:20
        // }

        // // ES5；
        // // var name = obj.name;
        // // var age = obj.age;
        // // console.log(name,age);

        // // ES6；
        // let {name,age} = obj;
        // console.log(name,age);

        // 在函数里解构
        // function fn({name,age}){
        //     console.log(name,age);
        // }
        // let obj  ={
        //     name:"张三",
        //     age:20
        // }

        // fn(obj);


        // 自定义解构名称 ；

        // let obj = {
        //     name: "张三",
        //     age: 20
        // }
        // let { name:myname, age:myage } = obj;
        // console.log(myage,myname);


        // 对象的多层解构；
        let obj  = {
            name:"zhangsan",
            hobby:{
                one:"篮球"
            }
        }

        let {name,hobby:{one:myone}} = obj;
        console.log(name,myone);

    </script>
</body>

</html>